#include <QtDebug>
#include <QMessageBox>
#include <QFile>
#include <QProgressDialog>
#include <qwt_slider.h>
#include "mainwindowimpl.h"
#include "opendialogimpl.h"
#include "dataplot.h"
#include "datafile.h"
//
MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f) 
	: QMainWindow(parent, f), pDataFile(0), pPlotManager(0)
{
	setupUi(this);
	pDlgOpen = new OpenDialogImpl( this );
	statusBar()->showMessage(trUtf8("Initializing..."),2000);
}
//

void MainWindowImpl::on_actionQuit_triggered()
{
	close();
}

void MainWindowImpl::on_actionOpen_triggered()
{
	statusBar()->showMessage(trUtf8("Otwieranie pliku..."));
	if( pDlgOpen->exec() )
	{
		statusBar()->showMessage(trUtf8("Wczytywanie pliku..."));

		if( pDataFile ) delete pDataFile;
		pDataFile = pDlgOpen->getDataFile( this );

		if( pPlotManager ) pPlotManager->close();
		pPlotManager = new PlotManager( pDataFile, this );
		gridLayout->addWidget( pPlotManager );

//		qDebug() << "file: " << pDataFile->fileName();
		statusBar()->showMessage(trUtf8("Otwarty plik: ")+pDataFile->fileName());
	}
	else
		statusBar()->showMessage(trUtf8("Anulowano otwieranie pliku."),2000);
}

void MainWindowImpl::on_actionGeneratePeakFile_triggered()
{
	if( pDataFile && pDataFile->exists() ) {
		statusBar()->showMessage(trUtf8("Generowanie pliku podglądu..."));
		pDataFile->generatePeakFile();
		statusBar()->showMessage(trUtf8("Otwarty plik: ")+pDataFile->fileName());
	}
	else
		QMessageBox::information( this, trUtf8("Generowanie pliku podglądu"), trUtf8("Nie można wygenerować pliku podglądu, ponieważ nie otworzono pliku głównego.") );
}


void MainWindowImpl::on_actionAbout_triggered()
{
	QMessageBox::about( this, trUtf8("O programie"), trUtf8("Autorzy:\tŁukasz Lipowski\n\tŁukasz Machna") );
}


void MainWindowImpl::on_actionClose_triggered()
{
	if( pPlotManager )
		pPlotManager->close();
}

